package com.youlai.boot.gym.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.gym.model.entity.AccessLogs;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.gym.model.query.AccessLogsQuery;
import com.youlai.boot.gym.model.vo.AccessLogsVO;
import com.youlai.boot.system.model.bo.VisitCount;
import com.youlai.boot.system.model.bo.VisitStatsBO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 出入日志Mapper接口
 *
 * @author hxc
 * @since 2025-06-01 12:37
 */
@Mapper
public interface AccessLogsMapper extends BaseMapper<AccessLogs> {

    /**
     * 获取出入日志分页数据
     *
     * @param page 分页对象
     * @param queryParams 查询参数
     * @return {@link Page<AccessLogsVO>} 出入日志分页列表
     */
    Page<AccessLogsVO> getAccessLogsPage(Page<AccessLogsVO> page, AccessLogsQuery queryParams);

    List<VisitCount> getPvCounts(String startDate, String endDate);

    List<VisitCount> getUvCounts(String startDate, String endDate);


    /**
     * 获取访问量统计
     */
    VisitStatsBO getPvStats();

    /**
     * 获取访问人数统计
     */
    VisitStatsBO getUvStats();



}
